<?php

/*
 * ¨/Daniel Lopez
 * Fecha 12-05-2015
 */
include_once '../../controlador/php/conexion/Conexion.php';
class DaoSeguimientoObservaciones {
    private $Descripcion;
    private $EsVerificado;
    private $usu_revisa;
    private $usu_registra;
    private $EsAlerta;
    private $TiempoInicial;
    private $TiempoFinal;
    private $OidRemision;
    private $FechaRegistro;
    private $FechaVerificado;
    private $Oid;
    function __construct($Descripcion,$usu_registra,$EsAlerta,$TiempoInicial,$TiempoFinal,$Oid) {
        $this->Descripcion = $Descripcion;
        $this->usu_registra = $usu_registra;
        $this->EsAlerta = $EsAlerta;
        $this->TiempoInicial = $TiempoInicial;
        $this->TiempoFinal = $TiempoFinal;
        $this->Oid = $Oid;
    }
    public function getOid(){
        return $this->Oid;
    }
    public function setOid($Oid){
        $this->Oid = $Oid;
    }
    public function getDescripcion(){
        return $this->Descripcion;
    }
    public function setDescripcion($Descripcion){
        $this->OidObservacion = $Descripcion;
    }
    public function getEsVerificado(){
        return $this->EsVerificado;
    }
    public function setEsVerificado($EsVerificado){
        $this->EsVerificado = $EsVerificado;
    }
    public function getusu_revisa(){
        return $this->usu_revisa;
    }
    public function setusu_revisa($usu_revisa){
        $this->usu_revisa = $usu_revisa;
    }
    public function getusu_registra(){
        return $this->usu_registra;
    }
    public function setusu_registra($usu_registra){
        $this->usu_registra = $usu_registra;
    }
    public function getEsAlerta(){
        return $this->EsAlerta;
    }
    public function setEsAlerta($EsAlerta){
        $this->EsAlerta = $EsAlerta;
    }
    public function getTiempoInicial(){
        return $this->TiempoInicial;
    }
    public function setTiempoInicial($TiempoInicial){
        $this->TiempoInicial = $TiempoInicial;
    }
    public function getTiempoFinal(){
        return $this->TiempoFinal;
    }
    public function setTiempoFinal($TiempoFinal){
        $this->TiempoFinal = $TiempoFinal;
    }
    
    public function getFechaRegistro(){
        return $this->FechaRegistro;
    }
    public function setFechaRegistro($FechaVerificado){
        $this->FechaVerificado = $FechaVerificado;
    }
      public function setFechaVerificado($FechaVerificado){
        $this->FechaVerificado = $FechaVerificado;
    }
    function GuardarSeguimiento($OidRevisar){
        $ObjConexion = new Conexion();
        
        $stmt = mssql_init('Usp_Observaciones_Remisiones');
        mssql_bind($stmt, '@OidRemision', $this->Oid, SQLINT4);
        mssql_bind($stmt, '@Descripcion', $this->Descripcion, SQLTEXT);
        mssql_bind($stmt, '@usu_registra', $this->usu_registra, SQLINT4);
        mssql_bind($stmt, '@EsVerificado', $this->EsVerificado, SQLINT4);
        mssql_bind($stmt, '@EsAlerta', $this->EsAlerta, SQLINT4);
        mssql_bind($stmt, '@TiempoInicial', $this->TiempoInicial, SQLVARCHAR);
        mssql_bind($stmt, '@TiempoFinal', $this->TiempoFinal, SQLVARCHAR);
        
        mssql_execute($stmt);
        mssql_free_statement($stmt);
        
        $SacarOid = "SELECT MAX(Oid) AS OID FROM Con_Seguimiento";
        $Respuesta = $ObjConexion ->query($SacarOid);
        
        while ($Respuesta2 = mssql_fetch_array($Respuesta)){
            $Oid = $Respuesta2['OID'];
        }
        
        $Insertar = "INSERT INTO Con_SeguObervaciones(OidSegAlerta,OidSeguimiento)VALUES('".$OidRevisar."','".$Oid."')";
        $ObjConexion ->query($Insertar);
        
        $ObjConexion->cerrarConexion();
    }
    
    function ConsultarSeguimiento(){
        $ObjConexion = new Conexion();
        
        $Query = "SELECT A.Oid,OidRemision,CAST(Descripcion AS TEXT) AS Descripcion,EsVerificado,usu_revisa,usu_registra,EsAlerta,TiempoFinal,TiempoInicial,FechaRegistro,FechaVerificado,
                  OidSeguimiento,OidSegAlerta, Nombre,Color,TiempoHoras 
                  FROM Con_Seguimiento AS A
                  INNER JOIN Con_SeguObervaciones AS B ON A.Oid = B.OidSeguimiento
                  INNER JOIN Con_SeguAlerta_New AS C ON B.OidSegAlerta = C.Oid
                  WHERE OidRemision ='".$this->Oid."'";
        $ObjRespuesta = $ObjConexion->query($Query);
        
        
        while ($RespuestaQuery = mssql_fetch_array($ObjRespuesta)){
            $ObjLista[] = array_map(utf8_encode,$RespuestaQuery);  
        }
        print_r(json_encode($ObjLista));
        
        $ObjConexion->cerrarConexion();
    }
    
    function EditarSegumiento($Hora){
        $con = new Conexion();
        
        $EditarSeguimiento = "UPDATE Con_Seguimiento
                              SET Descripcion = '".$this->Descripcion."',
                              usu_registra = '".$this->usu_registra."',
                              EsAlerta = '".$this->EsAlerta."',
                              TiempoInicial = '".$this->TiempoInicial."',
                              TiempoFinal = '".$this->TiempoFinal."'
                              WHERE Oid = '".$this->Oid."'";
        
        $con ->query($EditarSeguimiento);
        
        $Update = "UPDATE Con_SeguObervaciones
                   SET OidSegAlerta = '".$Hora."'
                   WHERE OidSeguimiento ='".$this->Oid."'";
        $con ->query($Update);
        
        $con ->cerrarConexion();
                
    }
    
    function VerificarAlerta($OidObservacion,$usu_verifica,$EsVerificado){
        $con = new Conexion();
        
        $VerificarAlerta = "UPDATE Con_Seguimiento
                            SET usu_revisa = '".$usu_verifica."',
                            EsVerificado = '".$EsVerificado."'
                            WHERE Oid = '".$OidObservacion."'";
        
        $con ->query($VerificarAlerta);
        
        $con ->cerrarConexion();
    }
   
}
 
?>
